package es.cea.biblioteca;

import java.util.ArrayList;
import java.util.List;

public class Usuario {
	String dni;
	int tipoUsuario;	//0:administrador, 1:usuario, 2:pendiente, 3: baneado
	String nombre;
	String password;
	String email;
	List<Libro> librosPrestamo=new ArrayList<Libro>();	//libros que el usuario tiene prestados
	
	/* constructor */
	public Usuario(String dni,int t,String n,String p,String e,ArrayList<Libro> l){
		this.dni=dni;
		this.tipoUsuario=t;
		this.nombre=n;
		this.password=p;
		this.email=e;
		this.librosPrestamo=l;
	}
	
	public Usuario(String dni,int t,String n,String p,String e){
		this.dni=dni;
		this.tipoUsuario=t;
		this.nombre=n;
		this.password=p;
		this.email=e;		
	}

	@Override
	public String toString() {	
		int i;
		String cadena="<b>DNI</b>: "+this.dni+"<br/>"+
			   "<b>Tipo usuario</b>: "+this.tipoUsuario+"<br/>"+
			   "<b>Nombre</b>: "+this.nombre+"<br/>"+
			   "<b>Password</b>: "+this.password+"<br/>"+
			   "<b>E-Mail</b>: "+this.email+"<br/>"+
			   "<b>Libros prestados</b>: ";
			   
			   //recorro la lista de libros prestados
			   for(i=0;i<this.librosPrestamo.size();i++){
				   cadena=cadena+this.librosPrestamo.get(i)+"<br/>";
			   }
		return cadena;
	}

	@Override
	public int hashCode() {
		final int prime = 31;
		int result = 1;
		result = prime * result + ((dni == null) ? 0 : dni.hashCode());
		return result;
	}

	@Override
	public boolean equals(Object obj) {
		if (this == obj)
			return true;
		if (obj == null)
			return false;
		if (getClass() != obj.getClass())
			return false;
		Usuario other = (Usuario) obj;
		if (dni == null) {
			if (other.dni != null)
				return false;
		} else if (!dni.equals(other.dni))
			return false;
		return true;
	}
	

}
